Runtime Manager Recommendations

Installing RTM on a Dedicated Machine

The RTM should be installed on a dedicated machine, because it is a time-sensitive application and it is one point of service for many network applications.

If you instead choose to install the RTM on a machine that is shared with other applications (including VBVoice applications), you run the risk of losing the RTM connection when the CPU usage exceeds 100% for more than 30 seconds. This behaviour is true in both design and runtime modes.

Warning: Working in Evaluation Mode

When the VBVoice development toolkit is in Evaluation mode, only 15 toolkit controls are allowed to be loaded in the same VB project. If you load a project that has more than 15 controls without having the properly required licenses, VBVoicewill switch into Evaluation Mode and the project will be partially loaded.

However, saving this partially loaded project results in dropped controls and a corrupt project that is hard to fix because the lost controls' property values, connections, and positions in VBVFrame pages are also lost.

When the VBVFrame is loaded, it defines the mode in which VBVoice will run. If you load a VBVoice project without opening any form and then run with F5 (i.e. start the application in debug mode), the frame will be loaded and if it fails to grab licenses, VBVoice might switch into Evaluation Mode.

recommendations:

Adding Channels Dynamically at Runtime

Sometimes you may want to start a VBVoice system with zero channels in the LineGroup and then dynamically add channels at runtime using the AddChannel function.

In this scenario, no ASR or TTS engines will be initialized, and only the number of engines equal to the number of channels specified or added to the LineGroup before calling StartSystem will be initialized.

There are two ways to add channels dynamically at runtime.

Start an Application with the Number of Channels Read from an INI File

This method is useful for the developer who wants to specify the channel numbers out of the application and who wants to feed this number to the application.

Start an Application with the Maximum Channels Offered by the Hardware

This method is useful for the developer who wants to build a hardware-independent, dynamic application. The application will detect the number of channels offered by the hardware and will work on them.

Examples

Follow these cases as examples.

Start a 6 voice-channel system with 2 engines (ASR or TTS)
  1. Set the number of engines in INI to 2.

  2. Set LineGroup channels to nothing.

  3. Before you start the system, call AddChannel on LineGroup for 2 channels.

  4. Call StartSystem.

  5. After the system is started, call AddChannel on LineGroup for another 4 channels.

The two engines will be initialized and will be floating on all 6 voice channels.

Start a 2 voice-channel system with 4 engines

You cannot do this! No matter what you try, you will get 2 voice-channels and 2 engines.

Start a system with the maximum allowed voice-channels by the hardware

With maximum number of engines

Start the system with 1-240 channels set in the LineGroup. This will get you 240 voice channels and 240 engines, if the licenses are available.

With only 4 floating engines

  1. Start the system with 4 channels in the LineGroup; this will initialize 4 engines as well.

  2. Call AddChannel for channels 5 to 240 while trying to catch any runtime error.